Applications are often deployed in data centers, where the applications execute on one or more servers. A data center generally has a network that includes a number of different network devices, such as various types of routers, switches, etc. A failure of any individual network device can sometimes cause the application to be unavailable from outside the data center. Thus, from the perspective of an end user, the availability of an application is dependent not only on whether the application itself is executing properly, but also on the proper functioning of intervening network devices that connect the application to the end user.
To address this issue, network devices may be deployed in redundant pairs or larger groups. Redundant network devices and/or links can provide some measure of protection against individual device failures or link failures, because when an individual device/link in a given group fails, the other device will sometimes continue functioning and, therefore, the application may still be reachable by end users. Thus, whether a particular application is reachable from outside the data center depends not only on the proper functioning of the individual network devices, but also on how effective the redundant groups are at preserving connectivity when one or more devices in the redundant groups fail.
When procuring devices for a data center or other network environment, cost is often a major consideration. For example, devices with equivalent functions can be compared directly in terms of currency cost, e.g., the cost in dollars of one access router model vs. another access router model. However, comparing devices in this manner does not account for variations in the service levels provided by different devices. For example, two device models with very different failure characteristics may appear to be very similar when compared based on functionality alone.